#pragma once
#include "AgentState.h"
#include "Vector2.h"

class FollowWayPointsState :
	public AgentState
{
private:
	static vector<FollowWayPointsState*> all_states; 

	vector <Vector2> _waypoints;
	int cur_waypoint;

	void setNextWayPoint();
	bool _done;
public:
	FollowWayPointsState(vector <Vector2> & waypoints);
	~FollowWayPointsState(void);

	Command GetCommand(Agent* agent);
	bool done();

	static vector<Vector2> all_waypoints();
};

